package com.pro.mapper;

import com.pro.pojo.JsClosure;
import com.pro.pojo.JsDept;
import com.pro.pojo.JsUnseal;
import com.pro.pojo.JsUser;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cyj
 * @date 2022.2.27$ 15.51$
 * @content :
 */
@Mapper
public interface JsJurisdictionMapper {
    /**
     * @author cyj
     * @date 2022.2.27$ 15.54$
     * @content :获取所有的部门名称
     */
    List<JsDept> getDeptName();
    /**
     * @author cyj
     * @date 2022.2.27$ 19.04$
     * @content :获取所有员工信息
     */
    List<JsUser> getUsers(@Param("account")String account,@Param("trueName")String trueName,@Param("deptName")String deptName,@Param("registerDate")String registerDate,@Param("limit")Integer limit,@Param("page")Integer page);
    /**
     * @author cyj
     * @date 2022.2.27$ 19.15$
     * @content :统计用户个数
     */
    Integer countUser();
    /**
     * @author cyj
     * @date 2022.3.3$ 15.25$
     * @content :更新用户状态
     */
    Boolean updateStatus(JsUser jsUser);
    /**
     * @author cyj
     * @date 2022.3.3$ 15.35$
     * @content :更新用户状态
     */
    Boolean insertUnseal(Integer userId,Integer type,String unsealDate);
    /**
     * @author cyj
     * @date 2022.3.3$ 15.57$
     * @content :更新用户状态
     */
    Boolean addUserClosure(JsClosure jsClosure);
    /**
     * @author cyj
     * @date 2022.3.4$ 8.57$
     * @content :查询某个用户的详细信息
     */
    JsUser getUserById(Integer id);
    /**
     * @author cyj
     * @date 2022.3.8$ 8.07$
     * @content :修改某个用户的信息
     */
    Boolean updateUser(JsUser jsUser);
    /**
     * @author cyj
     * @date 2022.3.8$ 13.40$
     * @content :查询用户所拥有的权限
     */
    List<JsUser> getUserPower(Integer userId);
    /**
     * @author cyj
     * @date 2022.3.9$ 8.51$
     * @content :添加用户所拥有的权限
     */
    Boolean addUserGrade(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.9$ 9.23$
     * @content :添加用户所拥有的权限
     */
    Boolean delUserGrade(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.9$ 14.07$
     * @content :添加一位用户
     */
    Boolean addUser(JsUser user);
    /**
     * @author cyj
     * @date 2022.3.10$ 8.48$
     * @content :查看解封日志
     */
    List<JsUnseal> getUnsealingLog(@Param("account")String account,@Param("deptName")String deptName,@Param("unsealDate")String unsealDate,@Param("limit")Integer limit,@Param("page")Integer page);
    /**
     * @author cyj
     * @date 2022.3.10$ 8.54$
     * @content :解封日志计数
     */
    Integer countUnsealingLog();
    /**
     * @author cyj
     * @date 2022.3.10$ 14.26$
     * @content :获取部门信息
     */
    List<JsDept> getJsDeptList(@Param("deptName")String deptName,@Param("trueName")String trueName,@Param("createDate")String createDate,@Param("status")String status,@Param("limit")Integer limit,@Param("page")Integer page);
    /**
     * @author cyj
     * @date 2022.3.10$ 14.32$
     * @content :对部门进行计数
     */
    Integer countJsDeptList();
    /**
     * @author cyj
     * @date 2022.3.10$ 14.46$
     * @content :对部门进行删除
     */
    Boolean deleteDept(Integer id);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.18$
     * @content :对部门进行删除
     */
    JsDept getDeptById(Integer id);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.32$
     * @content :对部门进行修改
     */
    Boolean updateDept(JsDept jsDept);
    /**
     * @author cyj
     * @date 2022.3.10$ 15.47$
     * @content :对部门进行修改
     */
    Boolean updateDeptStatus(JsDept jsDept);
    /**
     * @author cyj
     * @date 2022.3.10$ 16.15$
     * @content :对部门进行修改
     */
    Boolean addDept(JsDept jsDept);
}
